﻿namespace QLKHCN.Models.Entities
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Data.Entity.Spatial;

    [Table("NhanVien")]
    public partial class NhanVien
    {
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
        public NhanVien()
        {
            NhiemVus = new HashSet<NhiemVu>();
        }

        public int ID { get; set; }

        [StringLength(50, ErrorMessage ="Số ký tự tối đa là 50")]
        [DisplayName("Họ tên")]
        [Required(ErrorMessage = "Bạn chưa nhập Họ tên")]
        public string HoTen { get; set; }

        [DisplayName("Chức vụ")]
        public int? ChucVuID { get; set; }

        [DisplayName("Cấp bậc")]
        [Required(ErrorMessage = "Bạn chưa chọn Cấp bậc")]
        public int? CapBacID { get; set; }

        [DisplayName("Học vị")]
        public int? HocViID { get; set; }

        [DisplayName("Chức danh nghiên cứu")]
        public int? ChucDanhID { get; set; }

        [DisplayName("Phòng ban")]
        public int? PhongBanID { get; set; }

        public virtual CapBac CapBac { get; set; }

        public virtual ChucDanh ChucDanh { get; set; }

        public virtual ChucVu ChucVu { get; set; }

        public virtual HocVi HocVi { get; set; }

        public virtual PhongBan PhongBan { get; set; }

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
        public virtual ICollection<NhiemVu> NhiemVus { get; set; }
    }
}
